// SETUP

#include intrographics.txt
#include ladyluckbiggraphics.txt

setdatapath("data/graphics/cutscenes/warrior/");

var warriorgraphics = {
	idle: {
		animation: "warrior_idle.json",
		pack: "warrior.pck",
		loop: true
	},
	worried_idle: {
		animation: "warrior_worried_idle.json",
		pack: "warrior.pck",
		loop: true
	},
	transform: {
		animation: "warrior_transform.json",
		pack: "warrior.pck",
		speed: 2,
		loop: false
	}
}
var warrior = addsprite("warrior", 1, warriorgraphics);

// HELPER FUNCTIONS	

function signanimate(sign) {
	var s = sign.show("turn");
	//s.onComplete(function() { resume(); sign.show("loop"); });
	//pause();
	while(!s.completed) {
		// do nothing
	}
	sign.show("loop");
}

function fadein_sprite(sprite, time) {
	return;
	sprite.alpha = 0.0;
	Actuate.tween(sprite, time, { alpha: 1.0 });
	wait(time);
}

function fadeout_sprite(sprite, time) {
	return;
	Actuate.tween(sprite, time, { alpha: 0.0 });
	wait(time);
}

var fade_time = 0.4;

// ACTORS

actor("Jester", 1400, 700, Col.multiplylightness(Col.RED, 1.25), RIGHT, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
var audience = actor("Audience", screenwidthmid, 60, Col.WHITE, CENTER, TOP);
audience.title = "";
actor("Lady Luck", screenwidthmid + 800, 550, Col.YELLOW, CENTER, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
actor("Warrior", 2670, 670, Col.LIGHTBLUE, CENTER, BOTTOM, "chat_warrior", "characters/warrior/charicon_warrior");

// INTRO

play("music_cutscene_cheery");

changebackground("intro_sign");

sign.y = -screenheight;
jester.y = -screenheight;
sign.show("loop");
jester.show("idle");

Actuate.tween(sign, 2, { y: 0 }).ease(Expo.easeOut);
Actuate.tween(jester, 2, { y: 0 }).ease(Expo.easeOut);

wait(0.5);

fadein();

wait(1.5);

jester.show("talking");
speak("Jester", "Welcome to...", "normal");

/*
title.x = screenwidthmid - title.getwidth("default");
title.y = screenheightmid - title.getheight("default");
jester.hide();
signanimate(sign);
title.show("default");

actor("Jester", screenwidthmid, 550, Col.multiplylightness(Col.RED, 1.25), CENTER, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
*/

play("cutscene_audience");
//impact("excited");
speak("Jester", "Diceeeeeeey Duuuuuungeeeeons!", "personality");
//jester.show("idle");
//play("cutscene_audience");
//speak("Audience", "(audience cheers)");
//title.hide();
//signanimate(sign);
//jester.show("talking");
actor("Jester", 1600, 650, Col.multiplylightness(Col.RED, 1.25), RIGHT, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
speak("Jester", "The only game show where YOU could|win your heart's greatest desire!");
actor("Jester", 1450, 650, Col.multiplylightness(Col.RED, 1.25), RIGHT, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
speak("Jester", "But will you fulfill your dreams...|or your nightmares?", "thinking");
actor("Jester", 1800, 550, Col.multiplylightness(Col.RED, 1.25), RIGHT, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
speak("Jester", "Let's find out with our host for this evening...", "personality");
actor("Jester", 1600, 650, Col.multiplylightness(Col.RED, 1.25), RIGHT, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
speak("Jester", "and for eternity...");
jester.show("idle");

jester.hide();

signanimate(sign);

ladyluck_sign.show("idle");

play("cutscene_audience");
actor("Jester", 1400, 650, Col.multiplylightness(Col.RED, 1.25), RIGHT, BOTTOM, "chat_jester", "characters/misc/charicon_humanjester");
speak("Jester", "it's Lady LUCK!", "determined");

ladyluck_sign.show("talking", true);
speak("Lady Luck", "Thank you! Thank you all, my dears and my darlings!", "normal");
speak("Lady Luck", "And welcome back to my labyrinth of endless terror!");
speak("Lady Luck", "Will our newest contestants win big or lose it all?");
ladyluck_sign.show("idle", true);

fadeout();
while(isfading()) {
	// do nothing
}
changebackground("intro_transform");
sign.hide();
ladyluck_sign.hide();
fadein();

warrior.x = screenwidth;
var transform = warrior.show("transform");
Actuate.tween(warrior, 2, { x: 0 }).ease(Expo.easeOut);

var marker_human = false;
var marker_dice = false;
while(true) {	
	if(!marker_human && transform.marker == "human") {
		marker_human = true;
		transform.paused = true;
		speak("Lady Luck", "Let's find out as we meet...", "sly");
		play("transformintodice");
		transform.paused = false;
	} else if(!marker_dice && transform.marker == "dice") {
		marker_dice = true;
		transform.paused = true;
		var s = speak("Lady Luck", "... the Warrior!");
    fadeout();
	  break;
	}
}

while(isfading()) {
	// do nothing
}

warrior.scale = 0.5;
warrior.x = 2670 - ((warrior.getwidth("idle") * warrior.scale) / 2);
warrior.y = 700;
changebackground("intro_stage");
fadein();
warrior.show("idle");

ladyluck_big.x = -screenwidth;
ladyluck_big.show("idle");
Actuate.tween(ladyluck_big, 2, { x: 0 }).ease(Expo.easeOut);

play("cutscene_audience");

speak("Warrior", "Whoa! I'm a dice!", "personality");

ladyluck_big.show("talking", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 240, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "Yes, dear. That's how this works.");
ladyluck_big.show("talking-sly", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 280, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "Tell me, Warrior, what secret emptiness has driven|you to risk eternal imprisonment at the hands of fate?", "sly");
ladyluck_big.show("idle-sly", true);

speak("Warrior", "...what?", "thinking");

ladyluck_big.show("talking", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 240, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "My dear, what are you playing for today?", "confused");
ladyluck_big.show("idle", true);

speak("Warrior", "Oh! I'm playing to win a monster truck.");

speak("Warrior", "And to become the strongest man|in the world!");

ladyluck_big.show("talking", true);
speak("Lady Luck", "Inspirational!", "sly");
speak("Lady Luck", "Well, you know what we say here in Dicey Dungeons.");
ladyluck_big.show("talking-sly", true);
actor("Lady Luck", screenwidthmid + 240, screenheightmid - 280, Col.YELLOW, RIGHT, BOTTOM, "chat_ladyluck", "characters/misc/charicon_ladyluck");
speak("Lady Luck", "Luck might be against you, but it's too|late to change your mind now!", "sly");
ladyluck_big.show("idle-sly", true);

play("cutscene_audience");

Tutorial.playwarriortutorial();
